<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
    <script src="./lib/vue.js"></script>
    <style>
      .inner {
        height: 150px;
        background-color: pink;
      }
      .outer {
        padding: 40px;
        background-color: red;
      }
    </style>
  </head>
  <body>
    <div id="app">

      <!-- <div class="inner" @click="divHandler">
        <input type="button" value="戳他" @click="btnvHandler">
      </div> -->

      <!-- .stop 阻止冒泡 -->
      <!-- <div class="inner" @click="divHandler">
        <input type="button" value="戳他" @click.stop="btnvHandler">
      </div> -->

      <!-- .prevent 阻止默认行为 -->
      <!-- <a href="http://www.baidu.com" @click.prevent="linkClick">有问题先百度</a> -->

      <!-- .capture 监听捕获事件,当元素发生冒泡时，先触发带有该修饰符的元素。若有多个该修饰符，则由外而内触发。  -->
      <!-- <div class="inner" @click.capture="divHandler">
        <input type="button" value="戳他" @click="btnvHandler">
      </div> -->

      <!-- 使用 .self 实现只有点击当前元素的时候,才会触发事件处理函数 -->
      <!-- <div class="inner" @click.self="divHandler">
        <input type="button" value="戳他" @click="btnvHandler">
      </div> -->

      <!-- 使用 .once 只触发一次事件处理函数 -->
      <!-- <a href="http://www.baidu.com" @click.once.prevent="linkClick">有问题先百度</a> -->

      <!-- 演示 .stop 和 .self 的区别 -->
      <!-- .self 只会阻止自己身上冒泡行为的触发,并不会真正阻止 冒泡的行为 -->
      <div class="outer" @click="div2Handler">
        <div class="inner" @click.self="divHandler">
          <input type="button" value="戳他" @click="btnvHandler">
        </div>
      </div>


    </div>

    <script>
       var vm = new Vue({
         el: '#app',
         data: {

         },
         methods:{
           divHandler(){
             console.log("触发inner div 的点击事件");
           },
           btnvHandler(){
             console.log("触发 btn 按钮的点击事件");
           },
           linkClick(){
             alert("我是度娘!!!");
           },
           div2Handler(){
             console.log("触发outer div 的点击事件");
           }
         }
       });
    </script>

  </body>
</html>
